package com.chinatechstar.base.dto;

import com.chinatechstar.component.commons.validator.InsertValidator;
import com.chinatechstar.component.commons.validator.UpdateValidator;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * 基础数据-井(sys_well)输出类
 *
 * @author Rei
 * @version 1.0.1 2020-08-13
 */
public class SysWellTrackDTO implements java.io.Serializable {

    private static final long serialVersionUID = -1045056328300183135L;

    /**
     * 项目名称
     */
    private String wellProject;

    /**
     * 井关联单位ID
     */
    private Long wellOrgId;

    /**
     * 井关联单位名称
     */
    private String wellOrgName;

    /**
     * 井关联区块ID
     */
    private Long wellAreaId;

    /**
     * 井关联区块名称
     */
    private String wellAreaName;

    /**
     * 井名称
     */
    private String wellName;

    /**
     * 井co2吞吐实施主键ID
     */
    @NotNull(message = "实施主键ID不可为空", groups = {UpdateValidator.class})
    @NotBlank(message = "实施主键ID不可为空", groups = {UpdateValidator.class})
    private Long implId;

    /**
     * 关联井主键ID
     */
    private Long implWellId;

    /**
     * 实施日期
     */
    private Timestamp implTime;

    /**
     * 实施轮次
     */
    private Integer implRounds;

    /**
     * CO2吞吐施工情况-开注时间
     */
    private String injectStartTime;

    /**
     * CO2吞吐施工情况-停注时间（关井扩散时间）
     */
    private String injectEndTime;

    /**
     * CO2吞吐施工情况-开井日期
     */
    private String wellOpenTime;

    /**
     * CO2吞吐施工情况-设计注入量(t)
     */
    private String designInjectionVolume;

    /**
     * CO2吞吐施工情况-实际注入量(t)
     */
    private String actualInjectionVolume;

    /**
     * CO2吞吐施工情况-注入强度(104m3/m)
     */
    private String intensityOfInjection;

    /**
     * CO2吞吐施工情况-地层吸气压力(MPa)
     */
    private String stratumSuctionPressure;

    /**
     * CO2吞吐施工情况-最高注入压力(MPa)
     */
    private String maxInjectionPressure;

    /**
     * CO2吞吐施工情况-平稳注入压力（MPa）
     */
    private String smoothInjectionPressure;

    /**
     * CO2吞吐施工情况-关井扩散时间（d）
     */
    private String wellCloseDays;

    /**
     * 吞吐后放喷情况-放喷前压力（MPa）(存在公式，不是纯数字)
     */
    private String pressureBeforeSpray;

    /**
     * 吞吐后放喷情况-放喷时间
     */
    private String wellSprayTime;

    /**
     * 吞吐后放喷情况-放喷天数（d）
     */
    private String wellSprayDays;

    /**
     * 吞吐后机采情况-转抽时间
     */
    private String wellTurnTime;

    /**
     * 吞吐后机采情况-举升方式（dist）
     */
    private String wellLiftWay;

    /**
     * 吞吐后机采情况-转抽天数
     */
    private String wellTurnDays;

    /**
     * 井co2吞吐效果主键ID
     */
    @NotNull(message = "效果主键ID不可为空", groups = {UpdateValidator.class})
    @NotBlank(message = "效果主键ID不可为空", groups = {UpdateValidator.class})
    private Long effectId;

    /**
     * 关联井主键ID
     */
    private Long effectWellId;

    /**
     * 记录效果日期
     */
    private Timestamp effectTime;

    /**
     * 井关联项目
     */
    private String effectPrjName;

    /**
     * 注气吞吐实施轮次
     */
    private Integer effectImplRounds;

    /**
     * 排序顺序，用于展示
     */
    private Integer displayOrder;

    /**
     * 措施前-产液(m3/d)
     */
    private BigDecimal measBefFluid;

    /**
     * 措施前-产油(t/d)
     */
    private BigDecimal measBefOil;

    /**
     * 措施前-含水(%)
     */
    private BigDecimal measBefWater;

    /**
     * 措施后-产液(m3/d)
     */
    private BigDecimal measAftFluid;

    /**
     * 措施后-产油(t/d)
     */
    private BigDecimal measAftOil;

    /**
     * 措施后-含水(%)
     */
    private BigDecimal measAftWater;

    /**
     * 对比（措施后初期-措施前）-产液(m3/d)
     */
    private BigDecimal measContrastFluid;

    /**
     * 对比（措施后初期-措施前）-产油(t/d)
     */
    private BigDecimal measContrastOil;

    /**
     * 对比（措施后初期-措施前）-含水(%)
     */
    private BigDecimal measContrastWater;

    /**
     * 目前-产液(m3/d)
     */
    private BigDecimal measCurrFluid;

    /**
     * 目前-产油(t/d)
     */
    private BigDecimal measCurrOil;

    /**
     * 目前-含水(%)
     */
    private BigDecimal measCurrWater;

    /**
     * （目前-措施前）-增油(t/d)
     */
    private BigDecimal measIncrOil;

    /**
     * 有效期
     */
    private Integer validityTime;

    /**
     * 失效期
     */
    private Timestamp expiryTime;

    /**
     * 当日前累计增油量(吨)
     */
    private BigDecimal currAcumIncrOil;

    /**
     * 当日前累计降水量(方)
     */
    private BigDecimal currAcumDecrWater;

    /**
     * 备注1
     */
    private String remarkFirst;

    /**
     * 占产日期（天)
     */
    private BigDecimal prodDate;

    /**
     * 占产量（吨）
     */
    private BigDecimal prodOutput;

    /**
     * 周期累产油（吨）
     */
    private BigDecimal periodAcumOil;

    /**
     * 备注2
     */
    private String remarkSecond;

    /**
     * 气体介质，需要根据权限过滤该字段（dict）
     */
    private String gasMedium;

    /**
     * 获取项目名称
     *
     * @return 项目名称
     */
    public String getWellProject() {
        return wellProject;
    }

    /**
     * 设置井关联单位ID
     *
     * @param wellProject 项目名称
     */
    public void setWellProject(String wellProject) {
        this.wellProject = wellProject;
    }

    /**
     * 获取井关联单位ID
     *
     * @return 井关联单位ID
     */
    public Long getWellOrgId() {
        return this.wellOrgId;
    }

    /**
     * 设置井关联单位ID
     *
     * @param wellOrgId 井关联单位ID
     */
    public void setWellOrgId(Long wellOrgId) {
        this.wellOrgId = wellOrgId;
    }

    /**
     * 获取井关联单位名称
     *
     * @return 井关联单位名称
     */
    public String getWellOrgName() {
        return this.wellOrgName;
    }

    /**
     * 设置井关联单位名称
     *
     * @param wellOrgName 井关联单位名称
     */
    public void setWellOrgName(String wellOrgName) {
        this.wellOrgName = wellOrgName;
    }

    /**
     * 获取井关联区块ID
     *
     * @return 井关联区块ID
     */
    public Long getWellAreaId() {
        return this.wellAreaId;
    }

    /**
     * 设置井关联区块ID
     *
     * @param wellAreaId 井关联区块ID
     */
    public void setWellAreaId(Long wellAreaId) {
        this.wellAreaId = wellAreaId;
    }

    /**
     * 获取井关联区块名称
     *
     * @return 井关联区块名称
     */
    public String getWellAreaName() {
        return this.wellAreaName;
    }

    /**
     * 设置井关联区块名称
     *
     * @param wellAreaName 井关联区块名称
     */
    public void setWellAreaName(String wellAreaName) {
        this.wellAreaName = wellAreaName;
    }

    /**
     * 获取井名称
     *
     * @return 井名称
     */
    public String getWellName() {
        return this.wellName;
    }

    /**
     * 设置井名称
     *
     * @param wellName 井名称
     */
    public void setWellName(String wellName) {
        this.wellName = wellName;
    }

    /**
     * 获取井co2吞吐实施主键ID
     *
     * @return 井co2吞吐实施主键ID
     */
    public Long getImplId() {
        return implId;
    }

    /**
     * 设置井co2吞吐实施主键ID
     *
     * @param implId 井co2吞吐实施主键ID
     */
    public void setImplId(Long implId) {
        this.implId = implId;
    }

    /**
     * 获取关联井主键ID
     *
     * @return 关联井主键ID
     */
    public Long getImplWellId() {
        return this.implWellId;
    }

    /**
     * 设置关联井主键ID
     *
     * @param implWellId 关联井主键ID
     */
    public void setImplWellId(Long implWellId) {
        this.implWellId = implWellId;
    }

    /**
     * 获取实施日期
     *
     * @return 实施日期
     */
    public Timestamp getImplTime() {
        return this.implTime;
    }

    /**
     * 设置实施日期
     *
     * @param implTime 实施日期
     */
    public void setImplTime(Timestamp implTime) {
        this.implTime = implTime;
    }

    /**
     * 获取实施轮次
     *
     * @return 实施轮次
     */
    public Integer getImplRounds() {
        return this.implRounds;
    }

    /**
     * 设置实施轮次
     *
     * @param implRounds 实施轮次
     */
    public void setImplRounds(Integer implRounds) {
        this.implRounds = implRounds;
    }

    /**
     * 获取CO2吞吐施工情况-开注时间
     *
     * @return CO2吞吐施工情况-开注时间
     */
    public String getInjectStartTime() {
        return this.injectStartTime;
    }

    /**
     * 设置CO2吞吐施工情况-开注时间
     *
     * @param injectStartTime CO2吞吐施工情况-开注时间
     */
    public void setInjectStartTime(String injectStartTime) {
        this.injectStartTime = injectStartTime;
    }

    /**
     * 获取CO2吞吐施工情况-停注时间（关井扩散时间）
     *
     * @return CO2吞吐施工情况-停注时间（关井扩散时间）
     */
    public String getInjectEndTime() {
        return this.injectEndTime;
    }

    /**
     * 设置CO2吞吐施工情况-停注时间（关井扩散时间）
     *
     * @param injectEndTime CO2吞吐施工情况-停注时间（关井扩散时间）
     */
    public void setInjectEndTime(String injectEndTime) {
        this.injectEndTime = injectEndTime;
    }

    /**
     * 获取CO2吞吐施工情况-开井日期
     *
     * @return CO2吞吐施工情况-开井日期
     */
    public String getWellOpenTime() {
        return this.wellOpenTime;
    }

    /**
     * 设置CO2吞吐施工情况-开井日期
     *
     * @param wellOpenTime CO2吞吐施工情况-开井日期
     */
    public void setWellOpenTime(String wellOpenTime) {
        this.wellOpenTime = wellOpenTime;
    }

    /**
     * 获取CO2吞吐施工情况-设计注入量(t)
     *
     * @return CO2吞吐施工情况-设计注入量(t)
     */
    public String getDesignInjectionVolume() {
        return this.designInjectionVolume;
    }

    /**
     * 设置CO2吞吐施工情况-设计注入量(t)
     *
     * @param designInjectionVolume CO2吞吐施工情况-设计注入量(t)
     */
    public void setDesignInjectionVolume(String designInjectionVolume) {
        this.designInjectionVolume = designInjectionVolume;
    }

    /**
     * 获取CO2吞吐施工情况-实际注入量(t)
     *
     * @return CO2吞吐施工情况-实际注入量(t)
     */
    public String getActualInjectionVolume() {
        return this.actualInjectionVolume;
    }

    /**
     * 设置CO2吞吐施工情况-实际注入量(t)
     *
     * @param actualInjectionVolume CO2吞吐施工情况-实际注入量(t)
     */
    public void setActualInjectionVolume(String actualInjectionVolume) {
        this.actualInjectionVolume = actualInjectionVolume;
    }

    /**
     * 获取CO2吞吐施工情况-注入强度(104m3/m)
     *
     * @return CO2吞吐施工情况-注入强度(104m3/m)
     */
    public String getIntensityOfInjection() {
        return this.intensityOfInjection;
    }

    /**
     * 设置CO2吞吐施工情况-注入强度(104m3/m)
     *
     * @param intensityOfInjection CO2吞吐施工情况-注入强度(104m3/m)
     */
    public void setIntensityOfInjection(String intensityOfInjection) {
        this.intensityOfInjection = intensityOfInjection;
    }

    /**
     * 获取CO2吞吐施工情况-地层吸气压力(MPa)
     *
     * @return CO2吞吐施工情况-地层吸气压力(MPa)
     */
    public String getStratumSuctionPressure() {
        return this.stratumSuctionPressure;
    }

    /**
     * 设置CO2吞吐施工情况-地层吸气压力(MPa)
     *
     * @param stratumSuctionPressure CO2吞吐施工情况-地层吸气压力(MPa)
     */
    public void setStratumSuctionPressure(String stratumSuctionPressure) {
        this.stratumSuctionPressure = stratumSuctionPressure;
    }

    /**
     * 获取CO2吞吐施工情况-最高注入压力(MPa)
     *
     * @return CO2吞吐施工情况-最高注入压力(MPa)
     */
    public String getMaxInjectionPressure() {
        return this.maxInjectionPressure;
    }

    /**
     * 设置CO2吞吐施工情况-最高注入压力(MPa)
     *
     * @param maxInjectionPressure CO2吞吐施工情况-最高注入压力(MPa)
     */
    public void setMaxInjectionPressure(String maxInjectionPressure) {
        this.maxInjectionPressure = maxInjectionPressure;
    }

    /**
     * 获取CO2吞吐施工情况-平稳注入压力（MPa）
     *
     * @return CO2吞吐施工情况-平稳注入压力（MPa）
     */
    public String getSmoothInjectionPressure() {
        return this.smoothInjectionPressure;
    }

    /**
     * 设置CO2吞吐施工情况-平稳注入压力（MPa）
     *
     * @param smoothInjectionPressure CO2吞吐施工情况-平稳注入压力（MPa）
     */
    public void setSmoothInjectionPressure(String smoothInjectionPressure) {
        this.smoothInjectionPressure = smoothInjectionPressure;
    }

    /**
     * 获取CO2吞吐施工情况-关井扩散时间（d）
     *
     * @return CO2吞吐施工情况-关井扩散时间（d）
     */
    public String getWellCloseDays() {
        return this.wellCloseDays;
    }

    /**
     * 设置CO2吞吐施工情况-关井扩散时间（d）
     *
     * @param wellCloseDays CO2吞吐施工情况-关井扩散时间（d）
     */
    public void setWellCloseDays(String wellCloseDays) {
        this.wellCloseDays = wellCloseDays;
    }

    /**
     * 获取吞吐后放喷情况-放喷前压力（MPa）(存在公式，不是纯数字)
     *
     * @return 吞吐后放喷情况-放喷前压力（MPa）(存在公式
     */
    public String getPressureBeforeSpray() {
        return this.pressureBeforeSpray;
    }

    /**
     * 设置吞吐后放喷情况-放喷前压力（MPa）(存在公式，不是纯数字)
     *
     * @param pressureBeforeSpray 吞吐后放喷情况-放喷前压力（MPa）(存在公式
     */
    public void setPressureBeforeSpray(String pressureBeforeSpray) {
        this.pressureBeforeSpray = pressureBeforeSpray;
    }

    /**
     * 获取吞吐后放喷情况-放喷时间
     *
     * @return 吞吐后放喷情况-放喷时间
     */
    public String getWellSprayTime() {
        return this.wellSprayTime;
    }

    /**
     * 设置吞吐后放喷情况-放喷时间
     *
     * @param wellSprayTime 吞吐后放喷情况-放喷时间
     */
    public void setWellSprayTime(String wellSprayTime) {
        this.wellSprayTime = wellSprayTime;
    }

    /**
     * 获取吞吐后放喷情况-放喷天数（d）
     *
     * @return 吞吐后放喷情况-放喷天数（d）
     */
    public String getWellSprayDays() {
        return this.wellSprayDays;
    }

    /**
     * 设置吞吐后放喷情况-放喷天数（d）
     *
     * @param wellSprayDays 吞吐后放喷情况-放喷天数（d）
     */
    public void setWellSprayDays(String wellSprayDays) {
        this.wellSprayDays = wellSprayDays;
    }

    /**
     * 获取吞吐后机采情况-转抽时间
     *
     * @return 吞吐后机采情况-转抽时间
     */
    public String getWellTurnTime() {
        return this.wellTurnTime;
    }

    /**
     * 设置吞吐后机采情况-转抽时间
     *
     * @param wellTurnTime 吞吐后机采情况-转抽时间
     */
    public void setWellTurnTime(String wellTurnTime) {
        this.wellTurnTime = wellTurnTime;
    }

    /**
     * 获取吞吐后机采情况-举升方式（dist）
     *
     * @return 吞吐后机采情况-举升方式（dist）
     */
    public String getWellLiftWay() {
        return this.wellLiftWay;
    }

    /**
     * 设置吞吐后机采情况-举升方式（dist）
     *
     * @param wellLiftWay 吞吐后机采情况-举升方式（dist）
     */
    public void setWellLiftWay(String wellLiftWay) {
        this.wellLiftWay = wellLiftWay;
    }

    /**
     * 获取吞吐后机采情况-转抽天数
     *
     * @return 吞吐后机采情况-转抽天数
     */
    public String getWellTurnDays() {
        return this.wellTurnDays;
    }

    /**
     * 设置吞吐后机采情况-转抽天数
     *
     * @param wellTurnDays 吞吐后机采情况-转抽天数
     */
    public void setWellTurnDays(String wellTurnDays) {
        this.wellTurnDays = wellTurnDays;
    }

    /**
     * 获取井co2吞吐效果主键ID
     *
     * @return 井co2吞吐效果主键ID
     */
    public Long getEffectId() {
        return effectId;
    }

    /**
     * 设置井co2吞吐效果主键ID
     *
     * @param effectId 井co2吞吐效果主键ID
     */
    public void setEffectId(Long effectId) {
        this.effectId = effectId;
    }

    /**
     * 获取关联井主键ID
     *
     * @return 关联井主键ID
     */
    public Long getEffectWellId() {
        return this.effectWellId;
    }

    /**
     * 设置关联井主键ID
     *
     * @param effectWellId 关联井主键ID
     */
    public void setEffectWellId(Long effectWellId) {
        this.effectWellId = effectWellId;
    }

    /**
     * 获取记录效果日期
     *
     * @return 记录效果日期
     */
    public Timestamp getEffectTime() {
        return this.effectTime;
    }

    /**
     * 设置记录效果日期
     *
     * @param effectTime 记录效果日期
     */
    public void setEffectTime(Timestamp effectTime) {
        this.effectTime = effectTime;
    }

    /**
     * 获取井关联项目
     *
     * @return 井关联项目
     */
    public String getEffectPrjName() {
        return this.effectPrjName;
    }

    /**
     * 设置井关联项目
     *
     * @param effectPrjName 井关联项目
     */
    public void setEffectPrjName(String effectPrjName) {
        this.effectPrjName = effectPrjName;
    }

    /**
     * 获取注气吞吐实施轮次
     *
     * @return 注气吞吐实施轮次
     */
    public Integer getEffectImplRounds() {
        return this.effectImplRounds;
    }

    /**
     * 设置注气吞吐实施轮次
     *
     * @param effectImplRounds 注气吞吐实施轮次
     */
    public void setEffectImplRounds(Integer effectImplRounds) {
        this.effectImplRounds = effectImplRounds;
    }

    /**
     * 获取排序顺序，用于展示
     *
     * @return 排序顺序
     */
    public Integer getDisplayOrder() {
        return this.displayOrder;
    }

    /**
     * 设置排序顺序，用于展示
     *
     * @param displayOrder 排序顺序
     */
    public void setDisplayOrder(Integer displayOrder) {
        this.displayOrder = displayOrder;
    }

    /**
     * 获取措施前-产液(m3/d)
     *
     * @return 措施前-产液(m3/d)
     */
    public BigDecimal getMeasBefFluid() {
        return this.measBefFluid;
    }

    /**
     * 设置措施前-产液(m3/d)
     *
     * @param measBefFluid 措施前-产液(m3/d)
     */
    public void setMeasBefFluid(BigDecimal measBefFluid) {
        this.measBefFluid = measBefFluid;
    }

    /**
     * 获取措施前-产油(t/d)
     *
     * @return 措施前-产油(t/d)
     */
    public BigDecimal getMeasBefOil() {
        return this.measBefOil;
    }

    /**
     * 设置措施前-产油(t/d)
     *
     * @param measBefOil 措施前-产油(t/d)
     */
    public void setMeasBefOil(BigDecimal measBefOil) {
        this.measBefOil = measBefOil;
    }

    /**
     * 获取措施前-含水(%)
     *
     * @return 措施前-含水(%)
     */
    public BigDecimal getMeasBefWater() {
        return this.measBefWater;
    }

    /**
     * 设置措施前-含水(%)
     *
     * @param measBefWater 措施前-含水(%)
     */
    public void setMeasBefWater(BigDecimal measBefWater) {
        this.measBefWater = measBefWater;
    }

    /**
     * 获取措施后-产液(m3/d)
     *
     * @return 措施后-产液(m3/d)
     */
    public BigDecimal getMeasAftFluid() {
        return this.measAftFluid;
    }

    /**
     * 设置措施后-产液(m3/d)
     *
     * @param measAftFluid 措施后-产液(m3/d)
     */
    public void setMeasAftFluid(BigDecimal measAftFluid) {
        this.measAftFluid = measAftFluid;
    }

    /**
     * 获取措施后-产油(t/d)
     *
     * @return 措施后-产油(t/d)
     */
    public BigDecimal getMeasAftOil() {
        return this.measAftOil;
    }

    /**
     * 设置措施后-产油(t/d)
     *
     * @param measAftOil 措施后-产油(t/d)
     */
    public void setMeasAftOil(BigDecimal measAftOil) {
        this.measAftOil = measAftOil;
    }

    /**
     * 获取措施后-含水(%)
     *
     * @return 措施后-含水(%)
     */
    public BigDecimal getMeasAftWater() {
        return this.measAftWater;
    }

    /**
     * 设置措施后-含水(%)
     *
     * @param measAftWater 措施后-含水(%)
     */
    public void setMeasAftWater(BigDecimal measAftWater) {
        this.measAftWater = measAftWater;
    }

    /**
     * 获取对比（措施后初期-措施前）-产液(m3/d)
     *
     * @return 对比（措施后初期-措施前）-产液(m3/d)
     */
    public BigDecimal getMeasContrastFluid() {
        return this.measContrastFluid;
    }

    /**
     * 设置对比（措施后初期-措施前）-产液(m3/d)
     *
     * @param measContrastFluid 对比（措施后初期-措施前）-产液(m3/d)
     */
    public void setMeasContrastFluid(BigDecimal measContrastFluid) {
        this.measContrastFluid = measContrastFluid;
    }

    /**
     * 获取对比（措施后初期-措施前）-产油(t/d)
     *
     * @return 对比（措施后初期-措施前）-产油(t/d)
     */
    public BigDecimal getMeasContrastOil() {
        return this.measContrastOil;
    }

    /**
     * 设置对比（措施后初期-措施前）-产油(t/d)
     *
     * @param measContrastOil 对比（措施后初期-措施前）-产油(t/d)
     */
    public void setMeasContrastOil(BigDecimal measContrastOil) {
        this.measContrastOil = measContrastOil;
    }

    /**
     * 获取对比（措施后初期-措施前）-含水(%)
     *
     * @return 对比（措施后初期-措施前）-含水(%)
     */
    public BigDecimal getMeasContrastWater() {
        return this.measContrastWater;
    }

    /**
     * 设置对比（措施后初期-措施前）-含水(%)
     *
     * @param measContrastWater 对比（措施后初期-措施前）-含水(%)
     */
    public void setMeasContrastWater(BigDecimal measContrastWater) {
        this.measContrastWater = measContrastWater;
    }

    /**
     * 获取目前-产液(m3/d)
     *
     * @return 目前-产液(m3/d)
     */
    public BigDecimal getMeasCurrFluid() {
        return this.measCurrFluid;
    }

    /**
     * 设置目前-产液(m3/d)
     *
     * @param measCurrFluid 目前-产液(m3/d)
     */
    public void setMeasCurrFluid(BigDecimal measCurrFluid) {
        this.measCurrFluid = measCurrFluid;
    }

    /**
     * 获取目前-产油(t/d)
     *
     * @return 目前-产油(t/d)
     */
    public BigDecimal getMeasCurrOil() {
        return this.measCurrOil;
    }

    /**
     * 设置目前-产油(t/d)
     *
     * @param measCurrOil 目前-产油(t/d)
     */
    public void setMeasCurrOil(BigDecimal measCurrOil) {
        this.measCurrOil = measCurrOil;
    }

    /**
     * 获取目前-含水(%)
     *
     * @return 目前-含水(%)
     */
    public BigDecimal getMeasCurrWater() {
        return this.measCurrWater;
    }

    /**
     * 设置目前-含水(%)
     *
     * @param measCurrWater 目前-含水(%)
     */
    public void setMeasCurrWater(BigDecimal measCurrWater) {
        this.measCurrWater = measCurrWater;
    }

    /**
     * 获取（目前-措施前）-增油(t/d)
     *
     * @return （目前-措施前）-增油(t/d)
     */
    public BigDecimal getMeasIncrOil() {
        return this.measIncrOil;
    }

    /**
     * 设置（目前-措施前）-增油(t/d)
     *
     * @param measIncrOil （目前-措施前）-增油(t/d)
     */
    public void setMeasIncrOil(BigDecimal measIncrOil) {
        this.measIncrOil = measIncrOil;
    }

    /**
     * 获取有效期
     *
     * @return 有效期
     */
    public Integer getValidityTime() {
        return this.validityTime;
    }

    /**
     * 设置有效期
     *
     * @param validityTime 有效期
     */
    public void setValidityTime(Integer validityTime) {
        this.validityTime = validityTime;
    }

    /**
     * 获取失效期
     *
     * @return 失效期
     */
    public Timestamp getExpiryTime() {
        return this.expiryTime;
    }

    /**
     * 设置失效期
     *
     * @param expiryTime 失效期
     */
    public void setExpiryTime(Timestamp expiryTime) {
        this.expiryTime = expiryTime;
    }

    /**
     * 获取当日前累计增油量(吨)
     *
     * @return 当日前累计增油量(吨)
     */
    public BigDecimal getCurrAcumIncrOil() {
        return this.currAcumIncrOil;
    }

    /**
     * 设置当日前累计增油量(吨)
     *
     * @param currAcumIncrOil 当日前累计增油量(吨)
     */
    public void setCurrAcumIncrOil(BigDecimal currAcumIncrOil) {
        this.currAcumIncrOil = currAcumIncrOil;
    }

    /**
     * 获取当日前累计降水量(方)
     *
     * @return 当日前累计降水量(方)
     */
    public BigDecimal getCurrAcumDecrWater() {
        return this.currAcumDecrWater;
    }

    /**
     * 设置当日前累计降水量(方)
     *
     * @param currAcumDecrWater 当日前累计降水量(方)
     */
    public void setCurrAcumDecrWater(BigDecimal currAcumDecrWater) {
        this.currAcumDecrWater = currAcumDecrWater;
    }

    /**
     * 获取备注1
     *
     * @return 备注1
     */
    public String getRemarkFirst() {
        return this.remarkFirst;
    }

    /**
     * 设置备注1
     *
     * @param remarkFirst 备注1
     */
    public void setRemarkFirst(String remarkFirst) {
        this.remarkFirst = remarkFirst;
    }

    /**
     * 获取占产日期（天)
     *
     * @return 占产日期（天)
     */
    public BigDecimal getProdDate() {
        return this.prodDate;
    }

    /**
     * 设置占产日期（天)
     *
     * @param prodDate 占产日期（天)
     */
    public void setProdDate(BigDecimal prodDate) {
        this.prodDate = prodDate;
    }

    /**
     * 获取占产量（吨）
     *
     * @return 占产量（吨）
     */
    public BigDecimal getProdOutput() {
        return this.prodOutput;
    }

    /**
     * 设置占产量（吨）
     *
     * @param prodOutput 占产量（吨）
     */
    public void setProdOutput(BigDecimal prodOutput) {
        this.prodOutput = prodOutput;
    }

    /**
     * 获取周期累产油（吨）
     *
     * @return 周期累产油（吨）
     */
    public BigDecimal getPeriodAcumOil() {
        return this.periodAcumOil;
    }

    /**
     * 设置周期累产油（吨）
     *
     * @param periodAcumOil 周期累产油（吨）
     */
    public void setPeriodAcumOil(BigDecimal periodAcumOil) {
        this.periodAcumOil = periodAcumOil;
    }

    /**
     * 获取备注2
     *
     * @return 备注2
     */
    public String getRemarkSecond() {
        return this.remarkSecond;
    }

    /**
     * 设置备注2
     *
     * @param remarkSecond 备注2
     */
    public void setRemarkSecond(String remarkSecond) {
        this.remarkSecond = remarkSecond;
    }

    /**
     * 获取气体介质，需要根据权限过滤该字段（dist）
     *
     * @return 气体介质
     */
    public String getGasMedium() {
        return this.gasMedium;
    }

    /**
     * 设置气体介质，需要根据权限过滤该字段（dist）
     *
     * @param gasMedium 气体介质
     */
    public void setGasMedium(String gasMedium) {
        this.gasMedium = gasMedium;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }
        return EqualsBuilder.reflectionEquals(obj, this);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

    @Override
    public String toString() {
        return ReflectionToStringBuilder.toString(this);
    }
}
